#pragma once

#include "VCRefPtr.h"
#include "LBBasePlug/Model/TristateItemModel.h"
#include "ArchiBudget/ABComponent.h"

#include "LBIM/LBSmartGraph/LBSmartGraph.h"

#include "LBKenel/ICommand.h"
#include "LBKenel/IDocument.h"

#include <unordered_map>

namespace LBPROJPLUG
{
    class CWorkProcedureTreeModel : public LBBaseLogic::CTristateItemModel
    {
    public:
        CWorkProcedureTreeModel(QObject *parent = Q_NULLPTR);
        ~CWorkProcedureTreeModel();

    public:
        void SetupModelData(const CRefPtr<LBAB::IComponentGroup>& pGroup, const std::set<SLBGIObjId>& curSelIdSet);
        std::unordered_map<std::wstring, std::wstring>& GetMapCodeProcedure();




    private:
        std::unordered_map<std::wstring, std::wstring> m_mapCodeProcedure;
    };
}